Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Mary (programming language)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Mary_(programming_language)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Mary_programming_language rootpage-Mary_programming_language skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Mary (programming language)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style>
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */


.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}


/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above" style="background-color:#e0e0e0;">Mary</th></tr><tr><th scope="row" class="infobox-label"><a href="Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="Imperative_programming" title="Imperative programming">imperative</a></td></tr><tr><th scope="row" class="infobox-label">Family</th><td class="infobox-data"><a href="ALGOL" title="ALGOL">ALGOL</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_developer" class="mw-redirect" title="Software developer">Developer</a></th><td class="infobox-data organiser"><a href="SINTEF" title="SINTEF">RUNIT</a></td></tr><tr><th scope="row" class="infobox-label">First&nbsp;appeared</th><td class="infobox-data">1971<span style="display:none">&nbsp;(<span class="bday dtstart published updated">1971</span>)</span></td></tr><tr><th scope="row" class="infobox-label"><a href="Type_system" title="Type system">Typing discipline</a></th><td class="infobox-data"><a href="Static_typing" class="mw-redirect" title="Static typing">static</a>, <a href="Strong_typing" class="mw-redirect" title="Strong typing">strong</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Operating_system" title="Operating system">OS</a></th><td class="infobox-data"><a href="Cross-platform" class="mw-redirect" title="Cross-platform">Cross-platform</a>: <a href="Kongsberg_Defence_Systems" class="mw-redirect" title="Kongsberg Defence Systems">Kongsberg Våpenfabrikk</a> SM-4, <a href="Norsk_Data" title="Norsk Data">Norsk Data</a> Nord-10/ND-100, Univac-1100 series, <a href="Norsk_Data" title="Norsk Data">ND-100</a>/<a href="Sintran" title="Sintran">Sintran</a>-III, <a href="I386" title="I386">i386</a>, <a href="SPARC" title="SPARC">SPARC</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="ALGOL_68" title="ALGOL 68">ALGOL 68</a></td></tr></tbody></table>
<p><b>Mary</b> is a <a href="Programming_language" title="Programming language">programming language</a> designed and implemented by Mark Rain<sup id="cite_ref-van_der_Meulen_1-0" class="reference"><a href="#cite_note-van_der_Meulen-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> at <a href="SINTEF" title="SINTEF">RUNIT</a> in <a href="Trondheim" title="Trondheim">Trondheim</a>, <a href="Norway" title="Norway">Norway</a> during the 1970s. It borrowed many features from <a href="ALGOL_68" title="ALGOL 68">ALGOL 68</a> but was designed for <a href="Systems_programming" title="Systems programming">systems programming</a> (machine-oriented programming), with a subset of operations being reserved for higher-level usage.<sup id="cite_ref-gjessing_2-0" class="reference"><a href="#cite_note-gjessing-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>An unusual feature of its syntax was that expressions were constructed using the conventional <a href="Infix_operator" class="mw-redirect" title="Infix operator">infix operators</a>, but all of them had the same precedence and evaluation went from left to right unless there were brackets.<sup id="cite_ref-maryassign_3-0" class="reference"><a href="#cite_note-maryassign-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Assignment had the destination on the right and assignment was considered just another operator.
</p><p>Similar to <a href="C_(programming_language)" title="C (programming language)">C</a>, several language features appear to have existed to allow producing reasonably well optimised code, despite a quite primitive code generator in the compiler. These included operators similar to the <code>+=</code> <i>et alter</i> in C and explicit <a href="Processor_register" title="Processor register">register</a> <a href="Declaration_(computer_programming)" title="Declaration (computer programming)">declarations</a> for <a href="Variable_(computer_science)" title="Variable (computer science)">variables</a>.
</p><p>Notable features:
</p>
<ul><li><a href="Dataflow" title="Dataflow">Dataflow</a> syntax – values flow from left to right, including assignment</li>
<li>Expression-based;<sup id="cite_ref-hills_4-0" class="reference"><a href="#cite_note-hills-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> most constructs could be used in expressions: blocks, IF, CASE, etc.</li>
<li>Text-based recursive macros</li>
<li>Overloaded user-defined operators, not constrained to predefined identifiers as in <a href="C%2B%2B" title="C++">C++</a></li>
<li>Automatic building and dereferencing of pointers from type context</li>
<li>Scalar range types</li>
<li>Array and set enumeration in loop iterators</li>
<li>Dynamic array descriptors (ROW)</li></ul>
<p>Compilers were made for <a href="Kongsberg_Defence_Systems" class="mw-redirect" title="Kongsberg Defence Systems">Kongsberg Våpenfabrikk</a>'s SM-4 and <a href="Norsk_Data" title="Norsk Data">Norsk Data</a> Nord-10/ND-100 mini-computers. The original Mary compiler was written in NU <a href="ALGOL" title="ALGOL">ALGOL</a>, ran on the Univac-1100 series and was used to bootstrap a native compiler for <a href="Norsk_Data" title="Norsk Data">ND-100</a>/<a href="Sintran" title="Sintran">Sintran</a>-III. <a href="SINTEF" title="SINTEF">RUNIT</a> implemented a <a href="CHILL" title="CHILL">CHILL</a> compiler written in Mary which ran on ND-100 and had <a href="Intel_8086" title="Intel 8086">Intel 8086</a> and <a href="Intel_80286" title="Intel 80286">80286</a> targets. When this compiler was ported to the <a href="VAX" title="VAX">VAX</a> platform, a common backend for Mary and CHILL was implemented. Later, backends for <a href="I386" title="I386">i386</a> and <a href="SPARC" title="SPARC">SPARC</a> were available. Since the Mary compiler was implemented in Mary, it was possible to run the compiler on all these platforms. An improved version, Mary/2, was developed using a new compiler in the United States.<sup id="cite_ref-mary2_5-0" class="reference"><a href="#cite_note-mary2-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>Mary is no longer maintained.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Example">Example</h2></div>
<pre>BEGIN
INT i&nbsp;:= 10; &nbsp;%% Variable with initial value.
REF INT ri&nbsp;:= i; &nbsp;%% Pointer initialized to point to i.
INT j&nbsp;:= 11;
j&nbsp;:- REF INT =: ri; &nbsp;%% Type conversion and assignment
&nbsp;%% ri now points to j.
i =: (ri&nbsp;:- VAL REF INT);
&nbsp;%% Assignment and type conversion
&nbsp;%% ri points to j so j is changed.
IF j &gt; 10 &nbsp;%% Conditional statement with result
THEN &nbsp;%% used inside an arithmetic expression.
1
ELSE
2
FI + j =: j;
END
</pre>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="ALGOL_68" title="ALGOL 68">ALGOL 68</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<p><style data-mw-deduplicate="TemplateStyles:r1041539562">
/* start https://en.wikipedia.org/ */


.mw-parser-output .citation{word-wrap:break-word}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}


/* end https://en.wikipedia.org/ */
</style><span class="citation foldoc">This article is based on material taken from the <i><a href="Free_On-line_Dictionary_of_Computing" title="Free On-line Dictionary of Computing">Free On-line Dictionary of Computing</a></i> prior to 1 November 2008 and incorporated under the "relicensing" terms of the <a href="GNU_Free_Documentation_License" title="GNU Free Documentation License">GFDL</a>, version 1.3 or later.</span>
</p>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-van_der_Meulen-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-van_der_Meulen_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFvan_der_Meulen1977" class="citation journal cs1">van der Meulen, S. G. (June 1977). "ALGOL 68 might-have-beens". <i>ACM SIGPLAN Notices</i>. <b>12</b> (6): <span class="nowrap">1–</span>18. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F872738.807137">10.1145/872738.807137</a>.</cite></span>
</li>
<li id="cite_note-gjessing-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-gjessing_2-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFGjessingNygaard1988" class="citation book cs1">Gjessing, Stein; Nygaard, Kristen (1988). <i>ECOOP '88 European Conference on Object-Oriented Programming: Oslo, Norway, August 15-17, 1988. Proceedings</i>. Springer Science &amp; Business Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-540-50053-7</bdi>.</cite></span>
</li>
<li id="cite_note-maryassign-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-maryassign_3-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFRain1973" class="citation journal cs1">Rain, Mark (January 1973). "Operation expressions in MARY". <i>ACM SIGPLAN Notices</i>. <b>8</b> (1): <span class="nowrap">7–</span>14. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F986925.986927">10.1145/986925.986927</a>.</cite></span>
</li>
<li id="cite_note-hills-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-hills_4-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFHillsKanō1976" class="citation book cs1">Hills, Michael Turner; Kanō, Sadahiko (1976). <i>Programming Electronic Switching Systems: Real-time Aspects and Their Language Implications</i>. Peregrinus [for] the Institution of Electrical Engineers. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-901223-80-7</bdi>.</cite></span>
</li>
<li id="cite_note-mary2-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-mary2_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFRain" class="citation journal cs1">Rain, Mark. "The Structure of the MARY/2 Compiler". <i>Software, Practice and Experience</i>. <b>11</b>. Penobscot Research Center: <a href="Wiley_(publisher)" title="Wiley (publisher)">Wiley</a>: <span class="nowrap">225–</span>235.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFConradiHolager1974" class="citation book cs1">Conradi, Reidar; Holager, Per (1974). <i>MARY Textbook</i>. RUNIT. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-82-595-0403-6</bdi>.</cite></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="ALGOL445" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="ALGOL445" style="font-size:114%;margin:0 4em"><a href="ALGOL" title="ALGOL">ALGOL</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Programming_language_implementation" title="Programming language implementation">Implementations</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Technical_standard" title="Technical standard">Technical<br>standards</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ALGOL_58" title="ALGOL 58">ALGOL 58</a></li>
<li><a href="ALGOL_60" title="ALGOL 60">ALGOL 60</a></li>
<li><a href="ALGOL_68" title="ALGOL 68">ALGOL 68</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Dialect_(computing)" class="mw-redirect" title="Dialect (computing)">Dialects</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>ABC ALGOL</li>
<li><a href="ALCOR" title="ALCOR">ALCOR</a></li>
<li><a href="ALGO" title="ALGO">ALGO</a></li>
<li><a href="ALGOL_68C" title="ALGOL 68C">ALGOL 68C</a></li>
<li><a href="ALGOL_68-R" title="ALGOL 68-R">ALGOL 68-R</a></li>
<li><a href="ALGOL_68RS" title="ALGOL 68RS">ALGOL 68RS</a> (<a href="ELLA_(programming_language)" title="ELLA (programming language)">ELLA</a>)</li>
<li><a href="ALGOL_68S" title="ALGOL 68S">ALGOL 68S</a></li>
<li><a href="ALGOL_N" title="ALGOL N">ALGOL N</a></li>
<li><a href="ALGOL_W" title="ALGOL W">ALGOL W</a></li>
<li><a href="ALGOL_X" class="mw-redirect" title="ALGOL X">ALGOL X</a></li>
<li><a href="Atlas_Autocode" title="Atlas Autocode">Atlas Autocode</a> (<a href="Edinburgh_IMP" title="Edinburgh IMP">Edinburgh IMP</a>)</li>
<li><a href="Burroughs_Large_Systems#ALGOL" title="Burroughs Large Systems">Burroughs ALGOL</a></li>
<li><a href="CORAL" title="CORAL">CORAL</a> 66</li>
<li><a href="Dartmouth_ALGOL_30" class="mw-redirect" title="Dartmouth ALGOL 30">Dartmouth ALGOL 30</a></li>
<li><a href="DASK" title="DASK">DASK</a> ALGOL</li>
<li><a href="DG/L" title="DG/L">DG/L</a></li>
<li><a href="Elliott_ALGOL" title="Elliott ALGOL">Elliott ALGOL</a></li>
<li><a href="Executive_Systems_Problem_Oriented_Language" class="mw-redirect" title="Executive Systems Problem Oriented Language">Executive Systems Problem Oriented Language</a> (ESPOL) → New Executive Programming Language (<a href="NEWP" class="mw-redirect" title="NEWP">NEWP</a>)</li>
<li><a href="FLACC" title="FLACC">FLACC</a></li>
<li><a href="IMP_(programming_language)" title="IMP (programming language)">IMP</a></li>
<li><a href="JOVIAL" title="JOVIAL">JOVIAL</a></li>
<li><a href="English_Electric_KDF9" title="English Electric KDF9">Kidsgrove</a> Algol</li>
<li><a href="MAD_(programming_language)" title="MAD (programming language)">MAD</a></li>

<li><a href="NELIAC" title="NELIAC">NELIAC</a></li>
<li><a href="RTL/2" title="RTL/2">RTL/2</a></li>
<li><a href="S-algol" title="S-algol">S-algol</a>, <a href="PS-algol" title="PS-algol">PS-algol</a>, <a href="Napier88" title="Napier88">Napier88</a></li>
<li><a href="Simula" title="Simula">Simula</a></li>
<li>Small Machine ALGOL Like Language (<a href="SMALL" title="SMALL">SMALL</a>)</li>
<li><a href="SMIL_(computer)" title="SMIL (computer)">SMIL</a> ALGOL</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Formalism_(philosophy_of_mathematics)" title="Formalism (philosophy of mathematics)">Formalisms</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Jensen's_device" title="Jensen's device">Jensen's device</a></li>
<li><a href="Van_Wijngaarden_grammar" title="Van Wijngaarden grammar">Van Wijngaarden grammar</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Community_of_practice" title="Community of practice">Community</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Organizations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Professional_association" title="Professional association">Professional<br>associations</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ALCOR" title="ALCOR">ALCOR</a> Group</li>
<li><a href="Association_for_Computing_Machinery" title="Association for Computing Machinery">Association for Computing Machinery</a> (ACM)</li>
<li><a href="BSI_Group" title="BSI Group">BSI Group</a></li>
<li><a href="GOST" title="GOST">Euro-Asian Council for Standardization, Metrology and Certification</a> (EASC)</li>
<li><a href="International_Federation_for_Information_Processing" title="International Federation for Information Processing">International Federation for Information Processing</a> (IFIP) <a href="IFIP_Working_Group_2.1" title="IFIP Working Group 2.1">IFIP Working Group 2.1</a></li>
<li><a href="Gesellschaft_f%C3%BCr_Angewandte_Mathematik_und_Mechanik" title="Gesellschaft für Angewandte Mathematik und Mechanik">Society of Applied Mathematics and Mechanics</a> (GAMM)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Business</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Burroughs_Corporation" title="Burroughs Corporation">Burroughs Corporation</a></li>
<li><a href="Elliott_Brothers_(computer_company)" title="Elliott Brothers (computer company)">Elliott Brothers</a></li>
<li><a href="Regnecentralen" title="Regnecentralen">Regnecentralen</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Education</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Case_Western_Reserve_University" title="Case Western Reserve University">Case Institute of Technology</a></li>
<li><a href="University_of_Edinburgh" title="University of Edinburgh">University of Edinburgh</a></li>
<li><a href="University_of_St_Andrews" title="University of St Andrews">University of St Andrews</a></li>
<li><a href="Manchester_University" class="mw-redirect" title="Manchester University">Manchester University</a></li>
<li><a href="Massachusetts_Institute_of_Technology" title="Massachusetts Institute of Technology">Massachusetts Institute of Technology</a> (MIT)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Government</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Royal_Radar_Establishment" title="Royal Radar Establishment">Royal Radar Establishment</a> (RRE)</li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="ALGOL_58" title="ALGOL 58">ALGOL 58</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="John_Backus" title="John Backus">John Backus</a></li>
<li><a href="Friedrich_L._Bauer" title="Friedrich L. Bauer">Friedrich L. Bauer</a></li>
<li><a href="Hermann_Bottenbruch" title="Hermann Bottenbruch">Hermann Bottenbruch</a></li>
<li><a href="Charles_Katz" title="Charles Katz">Charles Katz</a></li>
<li><a href="Alan_Perlis" title="Alan Perlis">Alan Perlis</a></li>
<li><a href="Heinz_Rutishauser" title="Heinz Rutishauser">Heinz Rutishauser</a></li>
<li><a href="Klaus_Samelson" title="Klaus Samelson">Klaus Samelson</a></li>
<li><a href="Joseph_Henry_Wegstein" title="Joseph Henry Wegstein">Joseph Henry Wegstein</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="MAD_(programming_language)" title="MAD (programming language)">MAD</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bruce_Arden" title="Bruce Arden">Bruce Arden</a></li>
<li><a href="Bernard_Galler" title="Bernard Galler">Bernard Galler</a></li>
<li><a href="Robert_M._Graham_(computer_scientist)" title="Robert M. Graham (computer scientist)">Robert M. Graham</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="ALGOL_60" title="ALGOL 60">ALGOL 60</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>Backus^</li>
<li><a href="Roland_Carl_Backhouse" title="Roland Carl Backhouse">Roland Carl Backhouse</a></li>
<li>Bauer^</li>
<li><a href="Richard_Bird_(computer_scientist)" title="Richard Bird (computer scientist)">Richard Bird</a></li>
<li><a href="Stephen_R._Bourne" title="Stephen R. Bourne">Stephen R. Bourne</a></li>
<li><a href="Edsger_W._Dijkstra" title="Edsger W. Dijkstra">Edsger W. Dijkstra</a></li>
<li><a href="Andrey_Ershov" class="mw-redirect" title="Andrey Ershov">Andrey Ershov</a></li>
<li><a href="Robert_W._Floyd" title="Robert W. Floyd">Robert W. Floyd</a></li>
<li><a href="Jeremy_Gibbons" title="Jeremy Gibbons">Jeremy Gibbons</a></li>
<li>Julien Green</li>
<li><a href="David_Gries" title="David Gries">David Gries</a></li>
<li><a href="Eric_Hehner" title="Eric Hehner">Eric Hehner</a></li>
<li><a href="Tony_Hoare" title="Tony Hoare">Tony Hoare</a></li>
<li><a href="J%C3%B8rn_Jensen" title="Jørn Jensen">Jørn Jensen</a></li>
<li>Katz^</li>
<li><a href="Peter_Landin" title="Peter Landin">Peter Landin</a></li>
<li><a href="Tom_Maibaum" title="Tom Maibaum">Tom Maibaum</a></li>
<li><a href="Conor_McBride" title="Conor McBride">Conor McBride</a></li>
<li><a href="John_McCarthy_(computer_scientist)" title="John McCarthy (computer scientist)">John McCarthy</a></li>
<li><a href="Carroll_Morgan_(computer_scientist)" title="Carroll Morgan (computer scientist)">Carroll Morgan</a></li>
<li><a href="Peter_Naur" title="Peter Naur">Peter Naur</a></li>
<li><a href="Maurice_Nivat" title="Maurice Nivat">Maurice Nivat</a></li>
<li><a href="John_E._L._Peck" title="John E. L. Peck">John E. L. Peck</a></li>
<li>Perlis^</li>
<li><a href="Brian_Randell" title="Brian Randell">Brian Randell</a></li>
<li>Rutishauser^</li>
<li>Samelson^</li>
<li><a href="Jacob_T._Schwartz" title="Jacob T. Schwartz">Jacob T. Schwartz</a></li>
<li><a href="Micha_Sharir" title="Micha Sharir">Micha Sharir</a></li>
<li><a href="David_Turner_(computer_scientist)" title="David Turner (computer scientist)">David Turner</a></li>
<li><a href="Bernard_Vauquois" title="Bernard Vauquois">Bernard Vauquois</a></li>
<li><a href="Eiiti_Wada" title="Eiiti Wada">Eiiti Wada</a></li>
<li>Wegstein^</li>
<li><a href="Adriaan_van_Wijngaarden" title="Adriaan van Wijngaarden">Adriaan van Wijngaarden</a></li>
<li><a href="Mike_Woodger" title="Mike Woodger">Mike Woodger</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Simula" title="Simula">Simula</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Ole-Johan_Dahl" title="Ole-Johan Dahl">Ole-Johan Dahl</a></li>
<li><a href="Kristen_Nygaard" title="Kristen Nygaard">Kristen Nygaard</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="ALGOL_68" title="ALGOL 68">ALGOL 68</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>Bauer^</li>
<li><a href="Susan_G._Bond" title="Susan G. Bond">Susan G. Bond</a></li>
<li>Bourne^</li>
<li><a href="Robert_Dewar" title="Robert Dewar">Robert Dewar</a></li>
<li>Dijkstra^</li>
<li><a href="https://de.wikipedia.org/wiki/Gerhard_Goos" class="extiw external" title="de:Gerhard Goos">Gerhard Goos</a></li>
<li><a href="Michael_Guy" title="Michael Guy">Michael Guy</a></li>
<li>Hoare^</li>
<li><a href="Cornelis_H._A._Koster" title="Cornelis H. A. Koster">Cornelis H. A. Koster</a></li>
<li><a href="Peter_Landin" title="Peter Landin">Peter Landin</a></li>
<li><a href="Charles_H._Lindsey" title="Charles H. Lindsey">Charles H. Lindsey</a></li>
<li><a href="Barry_J._Mailloux" title="Barry J. Mailloux">Barry J. Mailloux</a></li>
<li>McCarthy^</li>
<li><a href="Lambert_Meertens" title="Lambert Meertens">Lambert Meertens</a></li>
<li>Naur^</li>
<li>Peck^</li>
<li><a href="Willem_van_der_Poel" title="Willem van der Poel">Willem van der Poel</a></li>
<li>Randell^</li>
<li><a href="Douglas_T._Ross" title="Douglas T. Ross">Douglas T. Ross</a></li>
<li>Samelson^</li>
<li><a href="Michel_Sintzoff" title="Michel Sintzoff">Michel Sintzoff</a></li>
<li>van Wijngaarden^</li>
<li><a href="Niklaus_Wirth" title="Niklaus Wirth">Niklaus Wirth</a></li>
<li>Woodger^</li>
<li><a href="Philip_Woodward" title="Philip Woodward">Philip Woodward</a></li>
<li><a href="Nobuo_Yoneda" title="Nobuo Yoneda">Nobuo Yoneda</a></li></ul>
</div></td></tr></tbody></table><div>
<ul><li><a href="Hal_Abelson" title="Hal Abelson">Hal Abelson</a></li>
<li><a href="John_Barnes_(computer_scientist)" title="John Barnes (computer scientist)">John Barnes</a></li>
<li><a href="Tony_Brooker" title="Tony Brooker">Tony Brooker</a></li>
<li><a href="Ron_Morrison" title="Ron Morrison">Ron Morrison</a></li>
<li><a href="Peter_O'Hearn" title="Peter O'Hearn">Peter O'Hearn</a></li>
<li><a href="John_C._Reynolds" title="John C. Reynolds">John C. Reynolds</a></li></ul></div></td></tr></tbody></table><div>
<ul><li><i><a href="ALGOL_Bulletin" title="ALGOL Bulletin">ALGOL Bulletin</a></i></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Comparison</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<li><a href="ALGOL_58#ALGOL_58's_influence_on_ALGOL_60" title="ALGOL 58">ALGOL 58 influence on ALGOL 60</a></li>
<li><a href="ALGOL_68#Comparisons_with_other_languages" title="ALGOL 68">ALGOL 68 to other languages</a></li>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><b>^ = full name and link in prior ALGOL version above</b><br><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> <b>Category: ALGOL</b> <span class="noviewer" typeof="mw:File"><span title="Category"></span></span> <b>Category: ALGOL 60</b></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-08-24" href="https://en.wikipedia.org/wiki/?title=Mary_(programming_language)&amp;oldid=1241950178">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>